package biz.datalk.industrialland.mbg.pojo.po;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;

/**
 * 文件(附件)上传记录表
 */
@TableName(value = "sys_file_upload")
public class SysFileUpload {
    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 文件编码
     */
    @TableField(value = "file_code")
    private String fileCode;

    /**
     * 文件的 key, 大小写敏感
     */
    @TableField(value = "obj_key")
    private String objKey;

    /**
     * 文件大小，单位 byte
     */
    @TableField(value = "file_size")
    private Long fileSize;

    /**
     * 文件原始名称
     */
    @TableField(value = "file_name")
    private String fileName;

    /**
     * 文件存储类型 local - 本地存储 / obs - 华为 OBS /  oss - 阿里 oss / fdfs - FastDFS / minio - minio 存储
     */
    @TableField(value = "storage_type")
    private String storageType;

    /**
     * 存储桶 local-目录名称 / obs,oss,minio-存储桶 / fdfs-组名
     */
    @TableField(value = "bucket_name")
    private String bucketName;

    /**
     * 存储的ip地址，只有 local 类型有该值
     */
    @TableField(value = "storage_ip")
    private String storageIp;

    /**
     * 文件的 contentType
     */
    @TableField(value = "file_content_type")
    private String fileContentType;

    /**
     * API接口中type的值
     */
    @TableField(value = "upload_type")
    private String uploadType;

    /**
     * 上传状态 0-正在上传 1-上传成功 2-上传失败
     */
    @TableField(value = "upload_status")
    private Integer uploadStatus;

    /**
     * 状态（Y启用，N不启用）
     */
    @TableField(value = "is_valid")
    private String isValid;

    /**
     * 删除状态（N，正常，Y已删除）
     */
    @TableField(value = "is_delete")
    private String isDelete;

    /**
     * 创建人ID
     */
    @TableField(value = "create_by")
    private Long createBy;

    /**
     * 创建人名称
     */
    @TableField(value = "create_name")
    private String createName;

    /**
     * 创建时间
     */
    @TableField(value = "create_time")
    private Date createTime;

    /**
     * 更新人ID
     */
    @TableField(value = "update_by")
    private Long updateBy;

    /**
     * 更新人名称
     */
    @TableField(value = "update_name")
    private String updateName;

    /**
     * 更新时间
     */
    @TableField(value = "update_time")
    private Date updateTime;

    public static final String COL_ID = "id";

    public static final String COL_FILE_CODE = "file_code";

    public static final String COL_OBJ_KEY = "obj_key";

    public static final String COL_FILE_SIZE = "file_size";

    public static final String COL_FILE_NAME = "file_name";

    public static final String COL_STORAGE_TYPE = "storage_type";

    public static final String COL_BUCKET_NAME = "bucket_name";

    public static final String COL_STORAGE_IP = "storage_ip";

    public static final String COL_FILE_CONTENT_TYPE = "file_content_type";

    public static final String COL_UPLOAD_TYPE = "upload_type";

    public static final String COL_UPLOAD_STATUS = "upload_status";

    public static final String COL_IS_VALID = "is_valid";

    public static final String COL_IS_DELETE = "is_delete";

    public static final String COL_CREATE_BY = "create_by";

    public static final String COL_CREATE_NAME = "create_name";

    public static final String COL_CREATE_TIME = "create_time";

    public static final String COL_UPDATE_BY = "update_by";

    public static final String COL_UPDATE_NAME = "update_name";

    public static final String COL_UPDATE_TIME = "update_time";

    /**
     * 获取主键
     *
     * @return id - 主键
     */
    public Long getId() {
        return id;
    }

    /**
     * 设置主键
     *
     * @param id 主键
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 获取文件编码
     *
     * @return file_code - 文件编码
     */
    public String getFileCode() {
        return fileCode;
    }

    /**
     * 设置文件编码
     *
     * @param fileCode 文件编码
     */
    public void setFileCode(String fileCode) {
        this.fileCode = fileCode;
    }

    /**
     * 获取文件的 key, 大小写敏感
     *
     * @return obj_key - 文件的 key, 大小写敏感
     */
    public String getObjKey() {
        return objKey;
    }

    /**
     * 设置文件的 key, 大小写敏感
     *
     * @param objKey 文件的 key, 大小写敏感
     */
    public void setObjKey(String objKey) {
        this.objKey = objKey;
    }

    /**
     * 获取文件大小，单位 byte
     *
     * @return file_size - 文件大小，单位 byte
     */
    public Long getFileSize() {
        return fileSize;
    }

    /**
     * 设置文件大小，单位 byte
     *
     * @param fileSize 文件大小，单位 byte
     */
    public void setFileSize(Long fileSize) {
        this.fileSize = fileSize;
    }

    /**
     * 获取文件原始名称
     *
     * @return file_name - 文件原始名称
     */
    public String getFileName() {
        return fileName;
    }

    /**
     * 设置文件原始名称
     *
     * @param fileName 文件原始名称
     */
    public void setFileName(String fileName) {
        this.fileName = fileName;
    }

    /**
     * 获取文件存储类型 local - 本地存储 / obs - 华为 OBS /  oss - 阿里 oss / fdfs - FastDFS / minio - minio 存储
     *
     * @return storage_type - 文件存储类型 local - 本地存储 / obs - 华为 OBS /  oss - 阿里 oss / fdfs - FastDFS / minio - minio 存储
     */
    public String getStorageType() {
        return storageType;
    }

    /**
     * 设置文件存储类型 local - 本地存储 / obs - 华为 OBS /  oss - 阿里 oss / fdfs - FastDFS / minio - minio 存储
     *
     * @param storageType 文件存储类型 local - 本地存储 / obs - 华为 OBS /  oss - 阿里 oss / fdfs - FastDFS / minio - minio 存储
     */
    public void setStorageType(String storageType) {
        this.storageType = storageType;
    }

    /**
     * 获取存储桶 local-目录名称 / obs,oss,minio-存储桶 / fdfs-组名
     *
     * @return bucket_name - 存储桶 local-目录名称 / obs,oss,minio-存储桶 / fdfs-组名
     */
    public String getBucketName() {
        return bucketName;
    }

    /**
     * 设置存储桶 local-目录名称 / obs,oss,minio-存储桶 / fdfs-组名
     *
     * @param bucketName 存储桶 local-目录名称 / obs,oss,minio-存储桶 / fdfs-组名
     */
    public void setBucketName(String bucketName) {
        this.bucketName = bucketName;
    }

    /**
     * 获取存储的ip地址，只有 local 类型有该值
     *
     * @return storage_ip - 存储的ip地址，只有 local 类型有该值
     */
    public String getStorageIp() {
        return storageIp;
    }

    /**
     * 设置存储的ip地址，只有 local 类型有该值
     *
     * @param storageIp 存储的ip地址，只有 local 类型有该值
     */
    public void setStorageIp(String storageIp) {
        this.storageIp = storageIp;
    }

    /**
     * 获取文件的 contentType
     *
     * @return file_content_type - 文件的 contentType
     */
    public String getFileContentType() {
        return fileContentType;
    }

    /**
     * 设置文件的 contentType
     *
     * @param fileContentType 文件的 contentType
     */
    public void setFileContentType(String fileContentType) {
        this.fileContentType = fileContentType;
    }

    /**
     * 获取API接口中type的值
     *
     * @return upload_type - API接口中type的值
     */
    public String getUploadType() {
        return uploadType;
    }

    /**
     * 设置API接口中type的值
     *
     * @param uploadType API接口中type的值
     */
    public void setUploadType(String uploadType) {
        this.uploadType = uploadType;
    }

    /**
     * 获取上传状态 0-正在上传 1-上传成功 2-上传失败
     *
     * @return upload_status - 上传状态 0-正在上传 1-上传成功 2-上传失败
     */
    public Integer getUploadStatus() {
        return uploadStatus;
    }

    /**
     * 设置上传状态 0-正在上传 1-上传成功 2-上传失败
     *
     * @param uploadStatus 上传状态 0-正在上传 1-上传成功 2-上传失败
     */
    public void setUploadStatus(Integer uploadStatus) {
        this.uploadStatus = uploadStatus;
    }

    /**
     * 获取状态（Y启用，N不启用）
     *
     * @return is_valid - 状态（Y启用，N不启用）
     */
    public String getIsValid() {
        return isValid;
    }

    /**
     * 设置状态（Y启用，N不启用）
     *
     * @param isValid 状态（Y启用，N不启用）
     */
    public void setIsValid(String isValid) {
        this.isValid = isValid;
    }

    /**
     * 获取删除状态（N，正常，Y已删除）
     *
     * @return is_delete - 删除状态（N，正常，Y已删除）
     */
    public String getIsDelete() {
        return isDelete;
    }

    /**
     * 设置删除状态（N，正常，Y已删除）
     *
     * @param isDelete 删除状态（N，正常，Y已删除）
     */
    public void setIsDelete(String isDelete) {
        this.isDelete = isDelete;
    }

    /**
     * 获取创建人ID
     *
     * @return create_by - 创建人ID
     */
    public Long getCreateBy() {
        return createBy;
    }

    /**
     * 设置创建人ID
     *
     * @param createBy 创建人ID
     */
    public void setCreateBy(Long createBy) {
        this.createBy = createBy;
    }

    /**
     * 获取创建人名称
     *
     * @return create_name - 创建人名称
     */
    public String getCreateName() {
        return createName;
    }

    /**
     * 设置创建人名称
     *
     * @param createName 创建人名称
     */
    public void setCreateName(String createName) {
        this.createName = createName;
    }

    /**
     * 获取创建时间
     *
     * @return create_time - 创建时间
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 设置创建时间
     *
     * @param createTime 创建时间
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 获取更新人ID
     *
     * @return update_by - 更新人ID
     */
    public Long getUpdateBy() {
        return updateBy;
    }

    /**
     * 设置更新人ID
     *
     * @param updateBy 更新人ID
     */
    public void setUpdateBy(Long updateBy) {
        this.updateBy = updateBy;
    }

    /**
     * 获取更新人名称
     *
     * @return update_name - 更新人名称
     */
    public String getUpdateName() {
        return updateName;
    }

    /**
     * 设置更新人名称
     *
     * @param updateName 更新人名称
     */
    public void setUpdateName(String updateName) {
        this.updateName = updateName;
    }

    /**
     * 获取更新时间
     *
     * @return update_time - 更新时间
     */
    public Date getUpdateTime() {
        return updateTime;
    }

    /**
     * 设置更新时间
     *
     * @param updateTime 更新时间
     */
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }
}